home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / mklfs / getMachineInfo.c < prev    next >
C/C++ Source or Header  |  1991-05-31  |  2KB  |  77 lines

  1. /* 
  2.  * getMachineInfo.c --
  3.  *
  4.  *    Routine to get infomation needed for LFS file systems from a
  5.  *    machine.
  6.  *
  7.  * Copyright 1991 Regents of the University of California
  8.  * Permission to use, copy, modify, and distribute this
  9.  * software and its documentation for any purpose and without
  10.  * fee is hereby granted, provided that this copyright
  11.  * notice appears in all copies.  The University of California
  12.  * makes no representations about the suitability of this
  13.  * software for any purpose.  It is provided "as is" without
  14.  * express or implied warranty.
  15.  */
  16.  
  17. #ifndef lint
  18. static char rcsid[] = "$Header: /sprite/src/admin/mklfs/RCS/getMachineInfo.c,v 1.1 91/05/31 11:09:31 mendel Exp $ SPRITE (Berkeley)";
  19. #endif /* not lint */
  20.  
  21. #ifdef __STDC__
  22. /*
  23.  * If we are compiling on a machine that has a ASCII C compiler, set the
  24.  * define _HAS_PROTOTYPES which causes the Sprite header files to 
  25.  * expand function definitions to included prototypes.
  26.  */
  27. #define    _HAS_PROTOTYPES 
  28. #endif /* __STDC__ */
  29.  
  30. #include <sprite.h>
  31. #include <varargs.h>
  32. #include <stdio.h>
  33. #include <cfuncproto.h>
  34. #include <stdlib.h>
  35. #include "getMachineInfo.h"
  36.  
  37. #include <kernel/fs.h>
  38. #include <kernel/fsStat.h>
  39. #include <fsCmd.h>
  40.  
  41.  
  42. /*
  43.  *----------------------------------------------------------------------
  44.  *
  45.  * GetMachineInfo --
  46.  *
  47.  *    Routine to get infomation needed for LFS file systems from a
  48.  *    machine.
  49.  *
  50.  * Results:
  51.  *    None.
  52.  *
  53.  * Side effects:
  54.  *    None.
  55.  *
  56.  *----------------------------------------------------------------------
  57.  */
  58.  
  59. void
  60. GetMachineInfo(serverIDPtr, maxNumCacheBlocksPtr)
  61.     int    *serverIDPtr;    /* OUT: Server ID of machine. */
  62.     int    *maxNumCacheBlocksPtr; /* OUT: Maximum number of cache blocks. */
  63. {
  64.     Fs_Stats fsStats;
  65.     ReturnStatus status;
  66.     extern ReturnStatus Proc_GetHostIDs 
  67.             _ARGS_((int *virtualHostPtr, int *physicalHostPtr));
  68.     (void)Proc_GetHostIDs(serverIDPtr, (int *) NULL);
  69.     status = Fs_Command(FS_RETURN_STATS, sizeof(Fs_Stats), (char *)&fsStats);
  70.     if (status != SUCCESS) {
  71.     Stat_PrintMsg(status, "Fs_Command failed");
  72.     exit(status);
  73.     }
  74.     *maxNumCacheBlocksPtr = fsStats.blockCache.maxNumBlocks;
  75. }
  76.  
  77.